Traditional testing of a computer program can include the external monitoring of integrity and performance of the program, either subjectively based upon end user impression, or objectively based upon independently acquired metrics. Software systems are designed to meet business needs of growing organization. Therefore, software systems are continuously upgraded and developed to meet the growing needs.
Test Automation brings down test cycles resulting in faster and frequent release of software to market. An important aspect of the test automation is test data generation process that is used to generate test data for executing multiple test scenarios in one or more test environments. For testing a given software application, a wide variety of test scenarios may need to be executed, so generation of voluminous test data satisfying the required testing criteria can be a challenging task. Moreover, the quality of any software test is determined based on the test data used for execution. Manual approaches for test data generation have proved to be effective. However, manual software testing is cumbersome and a labor intensive process and needs to be automated for reduction of cost and accuracy in testing. Several approaches for automated test data generation using subset of data, path analysis, and random test data generation have been proposed. Such approaches use data from a single data store, such as a database, to generate test data for testing of the software application. However, these methods are ineffective due to limitations in sourcing test data. Therefore, there is a need for a method and a system that automatically generates vast test data for testing computer applications.